#include <unistd.h>
#include <stdio.h>
#include <pwd.h>
#include <sys/types.h>

// struct passwd {
//     char   *pw_name;       // 用户名
//     char   *pw_passwd;     // 用户密码（加密）
//     uid_t   pw_uid;        // 用户ID
//     gid_t   pw_gid;        // 用户组ID
//     char   *pw_gecos;      // 用户全名或其他信息
//     char   *pw_dir;        // 用户主目录
//     char   *pw_shell;      // 用户默认shell
// };

int main() {
    struct passwd *pw;

    // 获取当前用户的用户ID
    uid_t uid = getuid();

    // 根据用户ID获取用户信息
    pw = getpwuid(uid);

    if (pw == NULL) {
        perror("getpwuid");
        return 1;
    }

    // 打印用户名
    printf("Current user: %s\n", pw->pw_name);

    return 0;
}
